草庐IT

c++ tcp多线程

全部标签

Python网络编程之TCP编程

Python网络编程之TCP编程一、前言二、创建TCP服务器三、创建TCP客户端四、执行TCP服务器和客户端一、前言  由于TCP连接具有安全可靠的特性,所以TCP应用更为广泛。创建TCP连接时,主动发起连接的叫客户端,被动响应连接的服务叫服务器。例如,当我们在浏览器中访问百度时,我们自己的计算机就是客户端,浏览器会主动向百度的服务器发起连接。如果一切顺利,百度的服务器接受我们的连接,一个TCP连接就建立起来了,后面的通信就是发送网页内容了。二、创建TCP服务器  创建TCP服务器的过程,类似于生活中接听电话的过程。如果要接听别人的来电,首先需要购买一部手机,然后安装手机卡。接下来,设置手机为

java - CertificateFactory.getInstance ("x.509") 线程安全吗?

我无法确定CertificateFactory.getInstance("x.509")是否线程安全?有人可以澄清一下吗?https://docs.oracle.com/javase/7/docs/api/java/security/cert/CertificateFactory.html提前致谢。 最佳答案 这个问题很老,但它是该问题的第一个谷歌搜索结果,所以这里是:调用的结果是一个CertificateFactory实现,特别是(在OracleJava中)一个sun.security.provider.X509Factory。该

java - 如果您将对象分配给最终字段,其他线程是否会看到该对象的非最终/非 volatile 字段的先前更新?

阅读Java语言规范时,我发现了这段关于final字段的摘录:Theusagemodelforfinalfieldsisasimpleone:Setthefinalfieldsforanobjectinthatobject'sconstructor;anddonotwriteareferencetotheobjectbeingconstructedinaplacewhereanotherthreadcanseeitbeforetheobject'sconstructorisfinished.Ifthisisfollowed,thenwhentheobjectisseenbyanothe

java - AWT 快速图形和线程安全

我正在将一个非常古老的AWT游戏移植到一个非常糟糕的新设备上。这款游戏有一大堆问题,包括对线程安全的一种非常松懈的方法:游戏引擎试图使用从UI线程获得的图形上下文在其引擎线程中直接绘制到屏幕上。这在设备上不起作用。我设法让它开始工作,方法是让引擎线程绘制到屏幕外缓冲区,然后让UI线程定期调用显示组件上的repaint(),然后显示组件将缓冲区blit到屏幕上,但性能很糟糕——考虑到所有上下文切换和双缓冲,这不足为奇。我实际上并不是一个知识渊博的AWT程序员;到目前为止我一直避免它,这已经够可恨了。但是这个问题——有一个引擎线程想要在屏幕上绘制——一定是一个常见的问题。有谁知道任何体面的

java - 对象未被终结且 Finalizer 线程未执行任何操作

在我们的服务器上,我们开始遇到OutOfMemoryError问题。我们使用EclipseMemoryAnalysis分析了堆转储,发现有许多对象被保留以进行终结(大约占堆的2/3):我们发现,它可能是一些finalize()方法阻塞。我发现了几个关于这个问题的错误报告(here或here),它总是在Finalizer线程堆栈中表现出来,它在某处被阻塞。但在我们的例子中,这个线程正在等待:"Finalizer"daemonprio=10tid=0x43e1e000nid=0x3ffinObject.wait()[0x43dfe000]java.lang.Thread.State:WAI

java - 在 Elasticsearch 中创建 TransportClient 时限制 ThreadPool 中的线程数

我正在elasticsearch中创建一个TransportClient实例。下面是相同的代码。问题是我正在尝试减少使用TransportClient启动的线程池生成的线程数。但是我使用我的elasticsearch的任何设置总是用12个线程初始化线程池。请让我知道如何配置它以获得所需的线程。publicstaticTransportClientgetTransportClient(Stringip,intport){ImmutableSettings.Buildersettings=ImmutableSettings.settingsBuilder();settings.put("c

Java Swing多线程访问JTextArea

我有一个多线程JavaSwing应用程序。多个线程将通过textArea.append("something")写入JTextArea来调用该方法。我应该这样包装吗:SwingUtilities.invokeLater(newRunnable(){@Overridepublicvoidrun(){textArea.append("something");}});或者它只是一个内容更新,Swing会自己做正确的线程? 最佳答案 一般来说,您对Swing所做的任何更新,尤其是任何更改控件状态或布局的操作,都应该在Swing线程中完成。在

Java 线程在哪个处理器上运行?

有没有办法使用Javanative线程找出您的线程正在运行的处理器(在单个系统或多个系统上)?如果没有,是否有任何图书馆可以提供帮助? 最佳答案 JVM的线程调度程序是特定于JVM的,因此没有“通用”的解决方案。据我所知,没有现成可用的东西,但可能使用:SunJVM;Solaris-或Mac,正如TomHawtin-tackline指出的那样;DTrace.你可能有一些运气:跟踪thread-start探测器,它具有作为args[3]的“native/操作系统线程ID。这是主机操作系统分配的ID"使用特定于Solaris的实用程序将

java - 在*多线程* Swing 应用程序中使用 Hibernate 进行 session 管理

我目前正在从事我的一个(相当大的)宠物项目,一个本质上需要多线程的Swing应用程序。几乎所有的用户交互都可能通过互联网从一些远程服务器获取数据,因为我既不控制这些服务器也不控制互联网本身,因此较长的响应时间是不可避免的。当EDT繁忙时,SwingUI显然无法重绘自身,因此所有远程服务器调用都需要由后台线程执行。我的问题:后台线程获取的数据通过本地(内存中)数据库中的数据“丰富”(远程服务器返回本地数据库中数据的ID/引用)。这些数据后来最终被传递到EDT,在那里它成为View模型的一部分。某些实体此时未完全初始化(启用延迟获取),因此用户可能会触发延迟获取,例如在JTable中滚动。

读取套接字时Java中断线程

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:HowtoterminateathreadblockingonsocketIOoperationinstantly?我让客户端在线程中运行,想从Java中的套接字读取数据。但是在阅读时,也许我想终止线程。所以我中断它,但是套接字的读取方法会抛出InterruptedException吗?我没找到。那么,当线程在读取套接字时阻塞时,我怎样才能很好地让线程死掉?谢谢